package de.pdbm.swt.aufgabe3;

import java.math.BigDecimal;
//import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * 
 * @author Hendrik Bammel & Marc von der Ohe
 * @version 1.0
 * 
 */
public class BestellungCalc implements Bestellung {
	private String id;
	private Date datum;
	private BigDecimal wert;
	private Mitarbeiter mitarbeiter;
	private List<Bestellposition> bestellpositionen;

	/**
	 * Konstruktor
	 * 
	 * @param id
	 *            ID der Bestellung
	 * @param datum
	 *            Datum der Bestellung
	 * @param mitarbeiter
	 *            Mitarbeiter der Bestellung
	 * @param bestellpositionen
	 *            Bestellpositionen
	 * 
	 */
	public BestellungCalc(String id, Date datum, Mitarbeiter mitarbeiter,
			List<Bestellposition> bestellpositionen) {
		this.bestellpositionen = bestellpositionen;
		this.id = id;
		this.datum = datum;
		this.mitarbeiter = mitarbeiter;
	}

	@Override
	public String getId() {
		return id;
	}

	@Override
	public Date getDatum() {
		return datum;
	}

	@Override
	public BigDecimal getWert() {
		berechneWert();
		return wert;
	}

	@Override
	public Mitarbeiter getMitarbeiter() {
		return mitarbeiter;
	}

	@Override
	public List<Bestellposition> getBestellpositionen() {
		return bestellpositionen;
	}

	/**
	 * Methode berechnet den Wert der Bestellung.
	 */
	public void berechneWert() {
		BigDecimal temp;
		wert = new BigDecimal(0);
		for (int i = 0; i < bestellpositionen.size(); i++) {
			temp = bestellpositionen.get(i).getPreis();
			wert = wert.add(temp);
		}
	}

}
